package cn.cqie.attendance.student.domian;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.ibatis.type.Alias;

import java.io.Serializable;

/**
 * @Author: xiehaodong
 * @Date: 2021/6/19 - 15:08
 * @Description: cn.cqie.attendance.student.domian
 * @version: 1.0
 */
@Data
@Accessors(chain = true)
@ApiModel(value="student", description="")
@Alias("student")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Student implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 学生Id */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /** 学号 */
    @ApiModelProperty(value = "学号")
    private String stuNumber;

    /** 学生姓名 */
    @ApiModelProperty(value = "学生姓名")
    private String stuName;

    /** 学生班级 */
    @ApiModelProperty(value = "学生班级")
    private Long stuClass;

    /** 学生专业 */
    @ApiModelProperty(value = "学生专业")
    private Long stuMajor;

    /** 学生年级 */
    @ApiModelProperty(value = "学生年级")
    private Long stuGrade;

    /** 身份证号码 */
    @ApiModelProperty(value = "身份证号码")
    private String identity;

    /** 0 女 1 男 */
    @ApiModelProperty(value = "0 女 1 男 ")
    private Long gender;

    /** 邮箱 */
    @ApiModelProperty(value = "邮箱")
    private String email;

    /** 手机号码 */
    @ApiModelProperty(value = "手机号码")
    private String phone;

    /** 小组 */
    @ApiModelProperty(value = "小组")
    private Long groupId;

    /** 0 前端 1 后端 2 测试 */
    @ApiModelProperty(value = "0 前端 1 后端 2 测试")
    private Long direction;

    /** 登录次数 */
    @ApiModelProperty(value = "登录次数")
    private Long loginTimes;

    /** 学生头像 */
    @ApiModelProperty(value = "学生头像")
    private String face;

    @ApiModelProperty(value = "排序序号")
    private Integer rankNo;


    private Classes classes;
    private College college;
    private Grade grade;
    private Major major;
    private Teacher teacher;

    private StudentCourse studentCourse;
    private Course course;
    private GroupCourse groupCourse;
    private CourseGroup courseGroup;

    private Leaves leaves;
    private LeaveLog leaveLog;
}
